//package com.burgeon.backend.compinent;
//
//
//import com.burgeon.backend.SHOPBACKEND.service.JpushService;
//import com.burgeon.backend.SHOPBACKEND.service.TempletOrderService;
//import com.burgeon.backend.Util.ApplicationContextUtil;
//import org.apache.commons.logging.Log;
//import org.apache.commons.logging.LogFactory;
//import org.springframework.stereotype.Component;
//
//import java.text.SimpleDateFormat;
//import java.util.Calendar;
//import java.util.Date;
//import java.util.Timer;
//import java.util.TimerTask;
//
//@Component
////@DependsOn("ApplicationContextUtil")
//public class TimerManager {
//    private final static Log logger = LogFactory.getLog(TimerManager.class);
//    //时间间隔
//    private static final long PERIOD_DAY = 24 * 60 * 60 * 1000;
//    private Timer t = new Timer();
//
//    private class NFDFlightDataTimerTask extends TimerTask {
//
//        @Override
//        public void run() {
//            try {
//                Calendar c = Calendar.getInstance();
//
//                // 处理该处理的程序
//                System.out.println("当前时间：" + c.getTime());
//
//                Date date = new Date();
//                SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss");
//                // 在这里写你要执行的内容
//                TempletOrderService templetOrderService = (TempletOrderService) ApplicationContextUtil.getBean("myService");
//
//                logger.info("开始上传");
//                templetOrderService.queryOverTime();//超时
//                templetOrderService.pushPaiDan();//手工分单
//
//                //wangRetilService.dockRETAIL();
//
//                // 如果超过4点了就不执行了
//                if (c.get(Calendar.HOUR_OF_DAY) == 14 && c.get(Calendar.MINUTE)==54 && c.get(Calendar.SECOND)==0) {
//                    logger.info("11点执行");
//                    t.schedule(new NFDFlightDataTimerTask(), c.getTime());//c.getTime()
//
//                }else if(c.get(Calendar.HOUR_OF_DAY) == 14 && c.get(Calendar.MINUTE)==56 && c.get(Calendar.SECOND)==0){
//                    logger.info("14点执行");
//                    t.schedule(new NFDFlightDataTimerTask(), c.getTime());//c.getTime()
//
//                }else if(c.get(Calendar.HOUR_OF_DAY) == 14 && c.get(Calendar.MINUTE)==58 && c.get(Calendar.SECOND)==0){
//                    logger.info("16点执行");
//                    t.schedule(new NFDFlightDataTimerTask(), c.getTime());//c.getTime()
//                    return;
//
//                }
//                // 否则定时5分钟之后继续
////            c.get(Calendar.SECOND,c.get(Calendar.SECOND) + 1000);
////            c.set(Calendar.MINUTE, c.get(Calendar.MINUTE) + 1);
//            //c.set(Calendar.HOUR_OF_DAY,c.get(Calendar.HOUR_OF_DAY)+2);
//            //int period = 10 * 1000;
////                if(c.get(Calendar.HOUR_OF_DAY,9)){
////
////                }
//
//
//            } catch (Exception e) {
//                logger.info(e.getMessage());
//            }
//        }
//    }
//
//
//    public TimerManager() {
//        Calendar calendar = Calendar.getInstance();
//
//        /*** 定制每日22:00执行方法 ***/
//
//        calendar.set(Calendar.HOUR_OF_DAY,14);
//        calendar.set(Calendar.MINUTE,52);
//        calendar.set(Calendar.SECOND,55);
//
//        Date date=calendar.getTime(); //第一次执行定时任务的时间
//
//        //如果第一次执行定时任务的时间 小于 当前的时间
//        //此时要在 第一次执行定时任务的时间 加一天，以便此任务在下个时间点执行。如果不加一天，任务会立即执行。
//        if (date.before(new Date())) {
//            date = this.addDay(date, 1);
//        }
//
//        NFDFlightDataTimerTask task = new NFDFlightDataTimerTask();
//        //安排指定的任务在指定的时间开始进行重复的固定延迟执行。
//       // System.gc();
//        t.schedule(task,date,PERIOD_DAY);
//
//    }
//
//    // 增加或减少天数
//    public Date addDay(Date date, int num) {
//        Calendar startDT = Calendar.getInstance();
//        startDT.setTime(date);
//        startDT.add(Calendar.DAY_OF_MONTH, num);
//        return startDT.getTime();
//    }
//
//}